fc987a4d80651dbb136dff07b627714feb8683c6,models/database/plugins/org.obeonetwork.dsl.database.edit/src/org/obeonetwork/dsl/database/provider/ColumnItemProvider.java,ColumnItemProvider,addSequencePropertyDescriptor,#Object#,247

Before Change


	 * @generated
	 */
	protected void addSequencePropertyDescriptor(Object object) {
		itemPropertyDescriptors.add
			(createItemPropertyDescriptor
				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
				 getResourceLocator(),
				 getString("_UI_Column_sequence_feature"),
				 getString("_UI_PropertyDescriptor_description", "_UI_Column_sequence_feature", "_UI_Column_type"),
				 DatabasePackage.Literals.COLUMN__SEQUENCE,
				 true,
				 false,
				 true,
				 null,
				 null,
				 null));
	}

	/**

After Change


	 * @generated NOT
	 */
	protected void addSequencePropertyDescriptor(Object object) {
		itemPropertyDescriptors.add
			(new ItemPropertyDescriptor
				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
				 getResourceLocator(),
				 getString("_UI_Column_sequence_feature"),
				 getString("_UI_PropertyDescriptor_description", "_UI_Column_sequence_feature", "_UI_Column_type"),
				 DatabasePackage.Literals.COLUMN__SEQUENCE,
				 true,
				 false,
				 true,
				 null,
				 null,
				 null) {
				@Override
				public Collection<?> getChoiceOfValues(Object object) {
					// The proposed sequences are those contained by the column's containing schema or database
					if (object instanceof Column) {
						Column column = (Column)object;
						Table table = column.getOwner();
						if (table != null) {
							TableContainer tableContainer = table.getOwner();
							if (tableContainer != null) {
								ArrayList<Sequence> sequences = new ArrayList<>(tableContainer.getSequences());
								sequences.sort(new Comparator<Sequence>() {

									@Override
									public int compare(Sequence s1, Sequence s2) {
										if (s2 == null || s2.getName() == null) {
											return -1;
										} else if (s1 == null || s1.getName() == null) {
											return 1;
										} else {
											return s1.getName().compareTo(s2.getName());
										}
									}
									
								});
								return sequences;
							}
						}
					}
					return super.getChoiceOfValues(object);
				}
			});
	}

	/**